import torch
# 对于多维张量，可以使用逗号, 来分隔不同维度的索引。
t2d = torch.arange(12).reshape(3,4)
print(f"Original Tensor:\n{t2d}")

# 获取第1行 (索引从0开始)
print(t2d[1])

# 获取第2行、第3列的元素
print(t2d[2,3])

# 获取所有行，但只要第1列
print(t2d[:,1])

# 获取第1、2行和第2、3列，形成一个子矩阵
print(t2d[1:3,2:4])


# 修改视图会影响原始张量
sub_matrix = t2d[1:3,2:4]
sub_matrix[0,0] = 99
print(f"Sub-matrix modified:\n{sub_matrix}\n")
print(f"Original tensor is also changed:\n{t2d}\n")